﻿using System;
using System.Collections.Generic;

namespace Reckoning
{
    /// <summary>
    ///  Interface for raw word counter
    /// </summary>
    public interface ICounter
    {
        /// <summary>
        /// Count the words in a text file
        /// </summary>
        /// <param name="path">path to file containing text</param>
        /// <param name="totalWordCount">total number of words in file</param>
        /// <param name="rawCounts">word counts</param>
        void RunFile(string path,
                     out uint totalWordCount,                
                     out Dictionary<string, uint> rawCounts);

        /// <summary>
        /// Count the words in a piece of text
        /// </summary>
        /// <param name="text">actual text containing words</param>
        /// <param name="totalWordCount">total number of words in file</param>
        /// <param name="rawCounts">word counts</param>
        void RunText(string text,
                     out uint totalWordCount,
                     out Dictionary<string, uint> rawCounts);
    }
}
